Many computer systems place data volumes in one or more data stores. The storage may be intended for short or long periods, but it can happen that one or more portions of information must be extracted from time to time. Extraction can, for example, be required for purposes of indexing, because an indexing application being executed in the system may need the information extracted before the indexing can be performed. Such indexing (and associated extraction) can be performed on the textual contents of the data store(s) and also on metadata that may be included in any of the items.
The extraction of item content can in conventional systems involve the creation of a temporary file for the content. Such a temporary file can then be placed on a disk in the system. While it is on the disk, the temporary file may be subject to inadvertent indexing by another routine, or subject to unauthorized access. Generally, the presence of the temporary file on the disk consumes some amount of system resource and may affect performance. In some situations, the resource consumption may be considered a significant factor, for example where only a fraction of the content is used in the indexing.
The access to content in a data store can sometimes affect the cache memory in the system. Particularly, if a relatively large amount of data that is retrieved is made to pass through the cache memory, this can result in other data being evicted from the cache. This can also cause the cache to grow at the cost of other system memory, and so evict code and data from system memory.